package com.moon.interview.exception;

/**
 * 自定义错误码
 * @author MoonX
 */
public enum SysErrorCode {
    SUCCESS(0, "ok"),
    PARAMS_ERROR(40000, "请求参数错误"),
    NOT_LOGIN_ERROR(40100, "未登录"),
    NO_AUTH_ERROR(40101, "无权限"),
    NOT_FOUND_ERROR(40400, "请求数据不存在"),
    FORBIDDEN_ERROR(40300, "禁止访问"),
    SYSTEM_ERROR(50000, "系统内部异常"),
    OPERATION_ERROR(50001, "操作失败"),
    EXISTS(50002,"数据已存在");

    // 状态码
    private final int code;
    // 信息
    private final String message;

    SysErrorCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    /**
     * 根据code查询信息
     * @param code
     * @return
     */
    public String getMessageByCode(int code) {
        for (SysErrorCode errorCode : SysErrorCode.values()){
            if (errorCode.getCode() == code) {
                return errorCode.getMessage();
            }
        }
        return null;
    }
}
